
<html><head><title>Model/View/Controller</title></head>
<body bgcolor="white" text="black">

<table width="95%">
<tr><td width="70%"><h1>Model/View/Controller<hr></h1></td>
     <td align="right"><a href="intro.html">BACK</a> |
                       <a href="index.html">UP</a> |
                       <a href="servlet.html">NEXT</a></td></tr>
<tr><td>

There are three separate parts to developing a web application: 

<ul>
   <li>Back end databases, core busines logic (eg: a Search API), 
       all of which is likely implemented as ordinary Java objects
       with standard looking Java APIs. This portion of the 
       application is called the <b>model</b>.
       <p>
   <li>The look and feel of the site, how the pages are layed out, 
       how the pages are related to one another, and what exactly
       appears on each page. This is called the <b>view</b>.
       <p>
   <li>Housekeeping and session tracking: logging the request, 
       managing cookies, tracking the user, keeping session data, 
       and managing the connection. This is the responsibility
       of the <b>controller</b>.
</ul>

WebMacro is a servlet framework which supports and enforces the 
model/view/controller design.
<p>
WebMacro enforces a separation of concerns between page layout 
and program code. There is an additional separation enforced by
the servlet API between controller code, and back-end models. 
<p>
An application built around WebMacro has three parts:
<ul>
  <li>A controlling <b>servlet</b>
  <li>A <b>template</b> view.
  <li>A <b>Context</b> containing a JavaBean model.
</ul>

In order to understand WebMacro you should have a good understaing
of what a servlet is, what a template is, and how a WebMacro context
works with a Java bean.





</td></tr>
<tr><td><hr></h1></td>
     <td align="right"><a href="intro.html">BACK</a> |
                       <a href="index.html">UP</a> |
                       <a href="servlet.html">NEXT</a></td></tr>
</table>
</body></html>
